6. code review方案细则¶
流程¶
每月按固定时间表进行,由项目负责人统筹,项目组成员、review评审人参与:
- 项目负责人review材料准备
- 项目计划书
- 代码合并
- 文档准备(参考5. 文档规范,1.利用Sphix生成项目文档)
- 更新内容简介(文档、代码)
- 对上次TODO内容跟进情况评分
- 对代码、文档、研发进度review,填写评分并列出TODO事项;
- 发送纪要邮件(评分文件、TODO事项、Review纪要)
评分方法¶
单元测试¶
在项目根目录test下提供核心模块功能需要提供单元测试脚本,每项功能至少包含3个不同的测试案例。每缺少一项扣5分,满分100分。
代码规范¶
代码规范满分100,包含基本规范和可理解性:
- 基本规范(50/100)
利用自动化代码审查工具统计,无法给出合理原因的,每项扣2分;
```text
# 安装自动化审查工具 pip install pep8
# 检查文件或文件夹 pep8 file
# 检查并统计错误数量 pep8 –statistics file
# 某项目运行例子 13 E127 continuation line over-indented for visual indent 1 E128 continuation line under-indented for visual indent 2 E225 missing whitespace around operator 2 E261 at least two spaces before inline comment 3 E302 expected 2 blank lines, found 0 5 E402 module level import not at top of file 82 E501 line too long (89 > 79 characters) 7 W292 no newline at end of file 5 W391 blank line at end of file 2 W503 line break before binary operator
```
- 可理解性(50/100)
- 无意义/歧义变量名、函数名、类名每项扣2分
- 接口函数、外部类无参数类型、默认值、可选项、含义说明每项扣5分
- 接口函数、外部类无功能说明,每项扣5分
进度完成¶
满分100,对比项目任务书计划,评审人按完成比例打分。
跟进情况¶
逐条审查上次review 代码及文档 TODO事项解决情况,根据评估的解决比例\(\alpha\):
评分结果记录¶
每次review评分记录表格:
| 项目 | 模块 | 开发者 | review日期 | 单元测试 | 代码规范 | 文档规范 | 进度完成 | 跟进完成比例 |
|---|---|---|---|---|---|---|---|---|
| demo | run | zhou | 2019-09-03 | 90 | 90 | 90 | 90 | 0.9 |
绩效考核¶
绩效考核中,以模型研发为主的考核事项,其分值将以期间多次Review平均得分为基准,参照其他情况,在\(\pm 5\)浮动范围内进行打分。